package com.imooc.service;

import com.imooc.pojo.OrderStatus;
import com.imooc.pojo.bo.ShopcartBO;
import com.imooc.pojo.bo.SubmitOrderBO;
import com.imooc.pojo.vo.OrderVO;

import java.util.List;

/**
 * 用户接口
 */
public interface OrderService {

    /**
     * 创建订单
     *
     * @param submitOrderBO 用于创建订单的BO对象
     * @param shopcartList
     * @return
     */
    OrderVO insertOrder(List<ShopcartBO> shopcartList, SubmitOrderBO submitOrderBO);

    /**
     * 根据商户id和订单状态更新订单状态
     *
     * @param marchNo
     * @param orderState
     * @return
     */
    Integer updateState(String marchNo, Integer orderState);

    /**
     * 轮询接口
     *
     * @param orderId
     * @return
     */
    OrderStatus queryOrderState(String orderId);

    /**
     * 每三十分钟更新一次订单状态
     */
    void closeOrder();

}
